The Antarmuka Heterogen untuk Portabilitas (HIP) menyediakan API runtime C++ yang menyembunyikan lapisan perangkat keras untuk memberikan basis kode terpadu bagi GPU NVIDIA dan AMD. Jalur ini menghilangkan ketergantungan vendor dengan meniru lingkungan CUDA sambil menargetkan backend ROCm backend.
1. Konfigurasi Lingkungan
Inisialisasi dimulai dengan mengatur variabel lingkungan untuk mengarahkan kompiler hipcc ke alat pembangun yang benar:
$ export PATH=$PATH:[MYHIP]/bin
2. Menstandarkan Alat Pembangun
The hipcc kompileur bertindak sebagai pembungkus cerdas. Untuk otomasi pembangunan, logika HIP_PATH ?= $(shell hipconfig --path) memastikan Makefile Anda secara dinamis menemukan instalasi HIP tanpa memperhatikan konfigurasi sistem.
3. Logika Versi
HIP menggunakan rumus versi deterministik untuk menangani ketersediaan fitur secara programatik di berbagai rilis:
$$\text{HIP\_VERSION} = \text{HIP\_VERSION\_MAJOR} \times 10^7 + \text{HIP\_VERSION\_MINOR} \times 10^5 + \text{HIP\_VERSION\_PATCH}$$
4. Ekivalen Runtime Inti
HIP menyediakan hipMalloc dan hipLaunchKernel sebagai cermin fungsional dari panggilan memori dan eksekusi CUDA, memungkinkan filosofi pengembangan "satu sumber".